package com.jifeng.sterilizer.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jifeng.sterilizer.utils.PageUtils;
import com.jifeng.sterilizer.entity.DeviceEntity;
import com.jifeng.sterilizer.utils.R;
import com.jifeng.sterilizer.vo.DeviceEntityVo;

import java.util.Map;

/**
 * 消毒机表
 *
 * @author jifeng
 * @email 1593140625@qq.com
 * @date 2020-07-26 14:31:54
 */
public interface DeviceService extends IService<DeviceEntity> {

    /**
     * 智能计算
     * @param params length、width、height、number
     * @return 计算结果
     */
    R calculateDeviceWorkTime(Map<String, Object> params);

    /**
     * 获取消毒机信息 微信小程序
     * @param params 消毒机编号和用户ID
     * @return 消毒机信息
     */
    R getDeviceInfoWx(Map<String, String> params);

    R mySave(DeviceEntityVo device);

    R updateByNumber(DeviceEntityVo device);

    /**
     * 监控 PC
     * @param params 消毒机编号
     * @return 消毒机和农场信息
     */
    R monitor(Map<String, Object> params);

    /**
     * 上限|下限温度|运行定时|加热状态|工作状态修改|清洗保养|后台/本机 PC
     * @param params 参数
     * @return 修改结果
     */
    R callDevUpdate(Map<String, Object> params);

    /**
     * 定时设置 PC
     * @param params 参数
     * @return 设置结果
     */
    R callDevUpdateTimeRun(Map<String, Object> params);

    /**
     * 设置消毒机出厂时间 PC
     * @param params 设备编号
     * @return 修改出厂时间结果
     */
    R updateDeviceProduceTime(Map<String, Object> params);

    /**
     * 新增消毒机 PC
     * @param params 消毒机信息
     * @return 新增结果
     */
    R addDevice(Map<String, Object> params);

    /**
     * 修改消毒机 PC
     * @param params 消毒机信息
     * @return 修改结果
     */
    R updateDevice(Map<String, Object> params);

    /**
     *  删除消毒机 PC
     * @param params 消毒机编号
     * @return 删除结果
     */
    R deleteDevice(Map<String, Object> params);

    /**
     * 获取消毒机信息
     * @param params 消毒机编号
     * @return 消毒机信息
     */
    R getDevicesInfo(Map<String, Object> params);

    /**
     * 设置系统时间 PC
     * @param params 参数
     * @return 设置结果
     */
    R setSystemTime(Map<String, Object> params);
}

